Skip to content

chore: Remove old metrics code - #4899

Merged
sentrivana merged 1 commit into
masterfrom
ivana/remove-metrics
Oct 9, 2025
Merged

sentrivana merged 1 commit into
masterfrom
ivana/remove-metrics

Conversation

@sentrivana

@sentrivana sentrivana commented Oct 9, 2025 •

Copy link
Copy Markdown
Collaborator

Description

Remove old metrics code to make way for #4898

Metrics was always an experimental feature and Sentry stopped accepting metrics a year ago.

Issues

Reminders

@sentrivana
sentrivana marked this pull request as ready for review October 9, 2025 08:12
@sentrivana
sentrivana requested a review from a team as a code owner October 9, 2025 08:12
Comment thread sentry_sdk/envelope.py
# and remove it (if it is present, i.e. not the very last char in an eof terminated envelope)
payload = f.readline().rstrip(b"\n")
if headers.get("type") in ("event", "transaction", "metric_buckets"):
if headers.get("type") in ("event", "transaction"):

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Metric Buckets Payload Deserialization Failure

The deserialize_from method stopped parsing metric_buckets payloads as JSON. This means existing envelopes with metric_buckets will now be deserialized as raw bytes, which could cause runtime errors when a parsed object is expected.

Fix in Cursor Fix in Web

@sentrivana
sentrivana merged commit 7997368 into master Oct 9, 2025
@sentrivana
sentrivana deleted the ivana/remove-metrics branch October 9, 2025 08:27
sentrivana pushed a commit that referenced this pull request Oct 29, 2026
### Description

Removes `to_timestamp()` and the module-level `epoch` constant from
`sentry_sdk/utils.py`. Nothing uses either of them.

#4899 (removing the old metrics code) deleted the last three callers of
`to_timestamp`, all in `sentry_sdk/metrics.py`, plus its import there.
`epoch` was only ever used inside `to_timestamp`.

**Evidence**
- `grep -rnw to_timestamp sentry_sdk tests scripts` only matches the
definition.
- `grep -rnw epoch sentry_sdk tests` only matches the definition and its
use in `to_timestamp`. The other match is the `(?P<epoch>...)` regex
group in the version parser, which isn't related.
- `git log -S "to_timestamp(" -- sentry_sdk tests` shows #4899 as the
last change to touch a call site.
- No open PR diff in this repo mentions `to_timestamp` or `epoch`.

**Why it's safe**
- `sentry_sdk.utils` is an internal module. Neither name is re-exported
from `sentry_sdk` or listed in `docs/`, and neither appears in
`CHANGELOG.md` or `MIGRATION_GUIDE.md`.
- The helper had a latent bug: it subtracted from a naive
`datetime(1970, 1, 1)`, so passing it a timezone-aware datetime (the SDK
uses aware UTC datetimes everywhere) raised `TypeError`. Leaving it
around invites someone to reuse it by mistake.
- `datetime` is still imported and used elsewhere in the module.
- No runtime behavior changes.

**Checks**
- `uv run ruff check sentry_sdk tests` and `ruff format --check` pass.
- `uv run --group typing mypy sentry_sdk` passes with no issues.
- `TESTPATH="tests/test_utils.py tests/test_basics.py
tests/test_client.py" uv run tox -e py3.14-common`: 587 passed, 3
skipped.

#### Issues
None. Found by a dead-code sweep.

<!-- junior-request-attribution:start -->
via [automation
`sched_65eed06cc199036c2b13411096f412d4`](https://junior-prod.sentry.dev/automations/sched_65eed06cc199036c2b13411096f412d4)
· Run ID `sched_65eed06cc199036c2b13411096f412d4:1793267961442`.
<!-- junior-request-attribution:end -->

<!-- junior-session-footer:start -->
<!--
junior-conversation-id:agent-dispatch%3Adispatch_de360d426db36e075f636e5b35173292
-->

--

[View Junior
Session](https://junior-prod.sentry.dev/conversations/agent-dispatch%3Adispatch_de360d426db36e075f636e5b35173292)
[[Sentry]](https://sentry.sentry.io/explore/conversations/agent-dispatch%3Adispatch_de360d426db36e075f636e5b35173292/?project=4510944073809921)

<!-- junior-session-footer:end -->

Co-authored-by: sentry-junior[bot] <264270552+sentry-junior[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants